JavaScript এবং AJAX ওয়েব অ্যাপ্লিকেশনগুলির জন্য অত্যন্ত গুরুত্বপূর্ণ প্রযুক্তি, যা ব্যবহারকারীর ইন্টারঅ্যাকশনকে আরও দ্রুত এবং রেসপন্সিভ করে তোলে। AJAX (Asynchronous JavaScript and XML) ব্যবহার করে, আপনি পৃষ্ঠা রিলোড না করেই সার্ভারের সাথে ডেটা এক্সচেঞ্জ করতে পারেন, যার ফলে অ্যাপ্লিকেশন আরও ইন্টারেক্টিভ এবং দ্রুত প্রতিক্রিয়া দেয়।
JavaScript একটি স্ক্রিপ্টিং ভাষা, যা মূলত ওয়েব পৃষ্ঠাগুলির মধ্যে ইন্টারঅ্যাকশন এবং ডাইনামিক কার্যকলাপ যুক্ত করতে ব্যবহৃত হয়। এটি ক্লায়েন্ট-সাইডে চলে এবং HTML এবং CSS-এর সাথে একত্রে কাজ করে। JavaScript দিয়ে আপনি UI ডাইনামিক্যালি পরিবর্তন করতে পারেন, ফর্ম ভ্যালিডেশন করতে পারেন, এবং অন্যান্য বিভিন্ন কার্যকরী কাজ সম্পাদন করতে পারেন।
// একটি বেসিক JavaScript ফাংশন
function greetUser() {
alert("Welcome to ASP.Net MVC!");
}
AJAX একটি প্রযুক্তি যা আপনার ওয়েব অ্যাপ্লিকেশনকে সার্ভারের সাথে তথ্য বিনিময় করতে দেয়, তবে পুরো পৃষ্ঠা রিলোড না করে। এটি ব্যবহারকারীর অভিজ্ঞতা উন্নত করে, কারণ ব্যবহারকারী কোনো ক্রিয়া করার সাথে সাথে সিস্টেমের রেসপন্স পেতে থাকে, এবং পৃষ্ঠা পুনরায় লোড হওয়ার দরকার পড়ে না।
// AJAX এর মাধ্যমে সার্ভারে ডেটা পাঠানো
function getData() {
var xhr = new XMLHttpRequest();
xhr.open("GET", "/Home/GetData", true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
document.getElementById("response").innerHTML = xhr.responseText;
}
};
xhr.send();
}
ASP.Net MVC-তে JavaScript এবং AJAX ইন্টিগ্রেশন ব্যবহারকারীর অভিজ্ঞতাকে আরও উন্নত করতে সহায়ক। AJAX ব্যবহারের মাধ্যমে, আপনি ডেটাবেসের সাথে ইন্টারঅ্যাকশন করতে পারেন এবং পৃষ্ঠার রিলোড ছাড়াই ডেটা রিটার্ন করতে পারেন।
ASP.Net MVC-তে AJAX ব্যবহার করার জন্য, আপনি $.ajax()
ফাংশনটি ব্যবহার করতে পারেন, যা jQuery এর মাধ্যমে AJAX রিকোয়েস্ট পাঠাতে সহায়ক।
$(document).ready(function () {
$("#getDataBtn").click(function () {
$.ajax({
url: '/Home/GetData', // সার্ভারের URL
type: 'GET', // HTTP মেথড
success: function (response) {
$("#responseDiv").html(response); // রেসপন্সের মাধ্যমে HTML পরিবর্তন
},
error: function (xhr, status, error) {
alert("Error: " + error);
}
});
});
});
এখানে, একটি বোতামে ক্লিক করলে GetData
অ্যাকশন কল করা হবে এবং সার্ভার থেকে প্রাপ্ত ডেটা #responseDiv
এলিমেন্টে প্রদর্শিত হবে।
public class HomeController : Controller
{
// GET: Home/GetData
public ActionResult GetData()
{
// ডেটা বা কাস্টম HTML রিটার্ন
return Content("This is a response from the server.");
}
}
AJAX রিকোয়েস্টের মাধ্যমে আপনি সাধারণত JSON (JavaScript Object Notation) ডেটা রিটার্ন করেন, যা JavaScript-এ সহজেই প্রসেস করা যায়। ASP.Net MVC-তে AJAX রিকোয়েস্টের মাধ্যমে JSON ডেটা পাঠানোর উদাহরণ:
$(document).ready(function () {
$("#submitBtn").click(function () {
var userData = {
name: $("#name").val(),
email: $("#email").val()
};
$.ajax({
url: '/Home/SubmitData',
type: 'POST',
data: JSON.stringify(userData), // JSON ডেটা পাঠানো
contentType: 'application/json',
success: function (response) {
alert(response.message);
},
error: function () {
alert("Error!");
}
});
});
});
public JsonResult SubmitData(UserModel user)
{
// ডেটা প্রক্রিয়া এবং JSON রেসপন্স রিটার্ন
return Json(new { message = "Data submitted successfully!" });
}
JavaScript এবং AJAX ইন্টিগ্রেশন ব্যবহার করে, আপনি ASP.Net MVC অ্যাপ্লিকেশনকে আরও ইন্টারঅ্যাকটিভ এবং রেসপন্সিভ করতে পারেন। JavaScript ব্যবহার করে আপনি ক্লায়েন্ট-সাইডে ইন্টারঅ্যাকশন এবং ডাইনামিক কার্যকলাপ যোগ করতে পারেন, এবং AJAX এর মাধ্যমে সার্ভারের সাথে ডেটা এক্সচেঞ্জ করতে পারেন, যা পৃষ্ঠা রিলোড ছাড়াই তথ্য আপডেট করতে সক্ষম। এটি ব্যবহারকারীর অভিজ্ঞতাকে আরো দ্রুত এবং স্মুথ করে তোলে, এবং অ্যাপ্লিকেশনটির পারফরম্যান্স উন্নত করে।
ASP.Net MVC অ্যাপ্লিকেশনগুলিতে ব্যবহারকারীর ইন্টারঅ্যাকশনের জন্য জাভাস্ক্রিপ্ট এবং jQuery একটি গুরুত্বপূর্ণ ভূমিকা পালন করে। এই দুটি প্রযুক্তি ক্লায়েন্ট-সাইড স্ক্রিপ্টিং প্রদান করে, যা ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে সাহায্য করে। জাভাস্ক্রিপ্ট সাধারণভাবে ওয়েব পেজের মধ্যে ডাইনামিক এবং ইন্টারঅ্যাকটিভ উপাদান যুক্ত করতে ব্যবহৃত হয়, এবং jQuery হল একটি জনপ্রিয় JavaScript লাইব্রেরি, যা কোড লেখার প্রক্রিয়া সহজ করে এবং ব্রাউজারের মধ্যে পারফরম্যান্স উন্নত করে।
জাভাস্ক্রিপ্ট একটি স্ক্রিপ্টিং ভাষা যা ওয়েব পেজে ডাইনামিক আচরণ যোগ করার জন্য ব্যবহৃত হয়। এটি ব্যবহারকারীর ইনপুট গ্রহণ করতে, ইন্টারঅ্যাকটিভ কন্টেন্ট তৈরি করতে, এবং পেজের কন্টেন্ট পরিবর্তন করতে পারে, সবকিছু পেজ রিলোড না করেই।
বাটনে ক্লিক করলে টেক্সট পরিবর্তন করা:
<button onclick="changeText()">Click Me</button>
<p id="demo">Hello, World!</p>
<script>
function changeText() {
document.getElementById("demo").innerHTML = "Hello, JavaScript!";
}
</script>
এখানে, ব্যবহারকারী যখন "Click Me" বাটনে ক্লিক করবেন, তখন changeText()
ফাংশনটি ট্রিগার হবে এবং প্যারাগ্রাফের টেক্সট পরিবর্তিত হবে।
jQuery একটি জনপ্রিয় JavaScript লাইব্রেরি, যা ওয়েব পেজে ডাইনামিক কার্যক্রম সম্পাদন করতে সহজ এবং সংক্ষিপ্ত কোড প্রদান করে। jQuery ওয়েব পেজে ইন্টারঅ্যাকশন এবং অ্যানিমেশন তৈরি করতে ব্যবহৃত হয় এবং ব্রাউজার নির্ভরতা কমায়।
ক্লিক ইভেন্ট হ্যান্ডলিং:
<button id="myButton">Click Me</button>
<p id="message">This is a jQuery example.</p>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function(){
$("#myButton").click(function(){
$("#message").text("Hello, jQuery!");
});
});
</script>
এখানে, $("#myButton").click(function() {...})
কোডটি "Click Me" বাটনে ক্লিক করলে প্যারাগ্রাফের টেক্সট পরিবর্তন করবে।
<div id="container">
<p>This is a paragraph.</p>
<button id="changeTextButton">Change Text</button>
</div>
<script>
$(document).ready(function(){
$("#changeTextButton").click(function(){
$("#container p").text("The text has been changed!");
});
});
</script>
এখানে, যখন ব্যবহারকারী বাটনে ক্লিক করবেন, তখন প্যারাগ্রাফের টেক্সট পরিবর্তিত হবে।
ASP.Net MVC অ্যাপ্লিকেশনে jQuery এবং JavaScript ব্যবহার করতে বেশ কিছু সাধারণ কৌশল রয়েছে। সাধারণত, jQuery এবং JavaScript ফাইলগুলি _Layout.cshtml
ফাইলে অন্তর্ভুক্ত করা হয়, যাতে এগুলি অ্যাপ্লিকেশনের প্রতিটি পৃষ্ঠায় অ্যাক্সেসযোগ্য হয়।
_Layout.cshtml-এ jQuery এবং JavaScript অন্তর্ভুক্ত করা:
<head>
<!-- jQuery CDN -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<!-- আপনার HTML কন্টেন্ট -->
<script>
$(document).ready(function() {
// এখানে আপনার jQuery কোড থাকবে
});
</script>
</body>
এখানে, jQuery লাইব্রেরি CDN থেকে লোড করা হয়েছে এবং ডকুমেন্ট লোড হওয়ার পরে স্ক্রিপ্টটি চলবে।
AJAX হল একটি প্রযুক্তি যা ব্যবহারকারীর সাথে ইন্টারঅ্যাকশন করার সময় পেজ রিলোড ছাড়া সার্ভার থেকে ডেটা লোড করার সুযোগ দেয়। এটি jQuery সহ ব্যবহার করে ওয়েব অ্যাপ্লিকেশনগুলোকে আরও দ্রুত এবং ইন্টারঅ্যাকটিভ করে তোলে।
<button id="loadDataButton">Load Data</button>
<div id="result"></div>
<script>
$(document).ready(function(){
$("#loadDataButton").click(function(){
$.ajax({
url: '/Home/GetData', // ASP.Net MVC অ্যাকশন মেথড
type: 'GET',
success: function(response){
$("#result").html(response); // ডেটা দেখানো
}
});
});
});
</script>
এখানে, $.ajax()
ফাংশনটি একটি GET রিকোয়েস্ট পাঠাবে এবং সার্ভার থেকে ডেটা ফিরিয়ে এনে HTML এলিমেন্টে দেখাবে।
জাভাস্ক্রিপ্ট এবং jQuery ওয়েব অ্যাপ্লিকেশনে ডাইনামিক এবং ইন্টারঅ্যাকটিভ উপাদান তৈরি করতে সহায়ক। jQuery কোডের পরিমাণ কমায় এবং ব্রাউজার নির্ভরতা কমানোর পাশাপাশি, JavaScript সহজে জটিল DOM ম্যানিপুলেশন ও ইভেন্ট হ্যান্ডলিং করতে সাহায্য করে। ASP.Net MVC অ্যাপ্লিকেশনগুলিতে এই দুটি প্রযুক্তি একসাথে ব্যবহার করা গেলে ওয়েব পেজগুলোর কার্যকারিতা এবং ব্যবহারকারীর অভিজ্ঞতা অনেক উন্নত হতে পারে।
ASP.Net MVC-তে AJAX (Asynchronous JavaScript and XML) ব্যবহার করে পেজ রিফ্রেশ ছাড়াই ডেটা প্রক্রিয়াকরণ এবং সার্ভার থেকে ডেটা রিসপন্স পাওয়া সম্ভব। এটি ওয়েব অ্যাপ্লিকেশনকে দ্রুত এবং ইন্টারঅ্যাকটিভ করে তোলে। AJAX Action Method তৈরি করে আমরা ক্লায়েন্ট সাইড (JavaScript) এবং সার্ভার সাইড (ASP.Net MVC) মধ্যে কার্যকরী ডেটা বিনিময় করতে পারি।
AJAX Action Method হলো ASP.Net MVC কন্ট্রোলারের একটি মেথড, যা ক্লায়েন্ট থেকে একটি Asynchronous রিকোয়েস্ট গ্রহণ করে এবং JSON, Partial View, বা HTML রেসপন্স প্রদান করে। এটি সাধারণত JsonResult
বা PartialViewResult
রিটার্ন টাইপ ব্যবহার করে।
কন্ট্রোলারে AJAX Action Method তৈরি করা:
AJAX Action Method একটি HTTP রিকোয়েস্ট প্রসেস করে এবং ডেটা বা ভিউ রিটার্ন করে। এটি সাধারণত HttpGet
বা HttpPost
অ্যাট্রিবিউট দিয়ে সাজানো হয়।
জাভাস্ক্রিপ্ট দিয়ে AJAX রিকোয়েস্ট পাঠানো:
AJAX রিকোয়েস্ট পাঠানোর জন্য jQuery.ajax()
বা Fetch API ব্যবহার করা হয়।
ধরা যাক আমরা একটি সিস্টেমে শিক্ষার্থীর নাম অনুসারে তাদের ডেটা সার্চ করব এবং সার্ভার থেকে ডেটা ফিরিয়ে আনব।
Step 1: কন্ট্রোলারে AJAX Action Method তৈরি করা
public class StudentController : Controller
{
[HttpPost]
public JsonResult SearchStudent(string name)
{
// শিক্ষার্থীর ডেটা সংগ্রহ
var students = GetStudents().Where(s => s.Name.Contains(name)).ToList();
return Json(students);
}
private List<Student> GetStudents()
{
return new List<Student>
{
new Student { Id = 1, Name = "Rahim", Class = "10" },
new Student { Id = 2, Name = "Karim", Class = "9" }
};
}
}
Step 2: ভিউতে AJAX রিকোয়েস্ট পাঠানোর কোড
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<input type="text" id="searchName" placeholder="Enter student name" />
<button id="searchBtn">Search</button>
<div id="result"></div>
<script>
$(document).ready(function () {
$('#searchBtn').click(function () {
var name = $('#searchName').val();
$.ajax({
url: '/Student/SearchStudent',
type: 'POST',
data: { name: name },
success: function (data) {
var resultHtml = '<ul>';
data.forEach(function (student) {
resultHtml += '<li>' + student.Name + ' - Class ' + student.Class + '</li>';
});
resultHtml += '</ul>';
$('#result').html(resultHtml);
},
error: function () {
alert('Error occurred while fetching data!');
}
});
});
});
</script>
AJAX Action Method সাধারণত JSON রেসপন্স প্রদান করে, যা জাভাস্ক্রিপ্ট দিয়ে প্রসেস করা সহজ। উদাহরণে return Json(students);
ব্যবহার করে JSON ডেটা পাঠানো হয়েছে।
AJAX Action Method থেকে Partial View রিটার্ন করেও পেজের নির্দিষ্ট অংশ আপডেট করা যায়।
Partial View রিটার্ন করার উদাহরণ:
public PartialViewResult GetStudentPartial()
{
var students = GetStudents();
return PartialView("_StudentList", students);
}
JavaScript দিয়ে Partial View লোড করা:
$.ajax({
url: '/Student/GetStudentPartial',
type: 'GET',
success: function (data) {
$('#partialContainer').html(data);
}
});
AJAX Action Method ASP.Net MVC অ্যাপ্লিকেশনে পেজ রিফ্রেশ ছাড়াই ডেটা লোড এবং প্রসেসিংয়ের জন্য কার্যকর। এটি ব্যবহার করে অ্যাপ্লিকেশনকে আরও দ্রুত এবং ইন্টারঅ্যাকটিভ করা যায়। JSON বা Partial View রিটার্ন টাইপ ব্যবহার করে ডেটা এবং ভিউকে সহজেই পরিচালনা করা সম্ভব।
ASP.Net MVC-তে Partial Page Updates এবং AJAX Forms দুটি অত্যন্ত গুরুত্বপূর্ণ বৈশিষ্ট্য, যা ওয়েব অ্যাপ্লিকেশনের রেসপন্সিভনেস এবং পারফরম্যান্স উন্নত করতে সাহায্য করে। এই বৈশিষ্ট্যগুলোর মাধ্যমে আপনি ব্যবহারকারীর অ্যাকশন অনুসারে পেজের একটি নির্দিষ্ট অংশ আপডেট করতে পারেন, পুরো পেজ রিফ্রেশ না করেই। এর ফলে, অ্যাপ্লিকেশনটি দ্রুত এবং আরও ইন্টারঅ্যাকটিভ হয়ে ওঠে।
Partial Page Update এর মাধ্যমে আপনি সম্পূর্ণ পেজটি রিফ্রেশ না করে পেজের এক বা একাধিক অংশ আপডেট করতে পারেন। এটি সাধারণত AJAX ব্যবহার করে করা হয়, যেখানে সার্ভার থেকে শুধুমাত্র সেই অংশের ডেটা রিটার্ন করা হয় যেটি আপডেট করতে হবে, এবং সেই ডেটা HTML ফরম্যাটে ক্লায়েন্টের কাছে পাঠানো হয়। এতে পুরো পেজের রিফ্রেশ করার প্রয়োজন হয় না, যা ব্যবহারকারীর অভিজ্ঞতা উন্নত করে।
ধরা যাক, একটি তালিকা রয়েছে এবং ব্যবহারকারী একটি ডেটা আপডেট করার পর সেই তালিকা আপডেট করতে চান। এখানে AJAX ব্যবহার করে পেজের অংশ (তালিকা) আপডেট করা হবে।
public class StudentController : Controller
{
// GET: Student/UpdateList
public ActionResult UpdateList()
{
var students = GetStudents(); // মডেল থেকে ডেটা সংগ্রহ করা
return PartialView("_StudentList", students); // Partial View রিটার্ন করা
}
private List<Student> GetStudents()
{
return new List<Student>
{
new Student { Id = 1, Name = "Rahim", Class = "10" },
new Student { Id = 2, Name = "Karim", Class = "9" }
};
}
}
_StudentList.cshtml
):@model List<Student>
<table>
<tr>
<th>Name</th>
<th>Class</th>
</tr>
@foreach (var student in Model)
{
<tr>
<td>@student.Name</td>
<td>@student.Class</td>
</tr>
}
</table>
<div id="student-list-container">
@Html.Action("UpdateList")
</div>
<button id="refreshList">Refresh List</button>
<script>
$(document).ready(function () {
$("#refreshList").click(function () {
$.ajax({
url: '@Url.Action("UpdateList", "Student")',
type: 'GET',
success: function (result) {
$("#student-list-container").html(result); // Partial view আপডেট করা
}
});
});
});
</script>
এখানে, $("#refreshList").click()
ইভেন্টের মাধ্যমে AJAX কল করা হয় এবং সার্ভার থেকে শুধুমাত্র UpdateList
অ্যাকশন মেথডের ফলাফল (Partial View) রিটার্ন করা হয়, যা পেজের নির্দিষ্ট অংশে আপডেট হয়।
AJAX Forms ব্যবহারের মাধ্যমে আপনি ফর্ম সাবমিট করতে পারেন এবং পেজ রিফ্রেশ ছাড়াই ফলাফল প্রদর্শন করতে পারেন। এটি ব্যবহারকারীর অভিজ্ঞতা উন্নত করে এবং অ্যাপ্লিকেশনটির পারফরম্যান্স বাড়ায়, কারণ পুরো পেজ রিফ্রেশ করা হয় না। AJAX ফর্মে, ব্যবহারকারী একটি ফর্ম সাবমিট করলে, তা সার্ভারে চলে যায়, এবং সার্ভার থেকে রেসপন্স পেলে শুধুমাত্র নির্দিষ্ট অংশ আপডেট করা হয়।
ধরা যাক, আমাদের একটি ফর্ম রয়েছে, যার মাধ্যমে ছাত্রের তথ্য সাবমিট করা হবে। ফর্মটি AJAX ব্যবহার করে সাবমিট করা হবে এবং ফলাফল পেজের একটি অংশে দেখানো হবে।
public class StudentController : Controller
{
// POST: Student/Create
[HttpPost]
public ActionResult Create(Student student)
{
if (ModelState.IsValid)
{
// Save student data
SaveStudent(student);
return PartialView("_StudentList", GetStudents()); // Partial view return
}
return PartialView("_CreateForm", student); // যদি কোনো ত্রুটি থাকে
}
private void SaveStudent(Student student)
{
// Save student to the database
}
private List<Student> GetStudents()
{
return new List<Student>
{
new Student { Id = 1, Name = "Rahim", Class = "10" },
new Student { Id = 2, Name = "Karim", Class = "9" }
};
}
}
@using (Html.BeginForm("Create", "Student", FormMethod.Post, new { id = "studentForm" }))
{
@Html.LabelFor(m => m.Name)
@Html.TextBoxFor(m => m.Name)
@Html.LabelFor(m => m.Class)
@Html.TextBoxFor(m => m.Class)
<input type="submit" value="Submit" />
}
<div id="student-list-container">
@Html.Action("UpdateList")
</div>
<script>
$(document).ready(function () {
$("#studentForm").submit(function (event) {
event.preventDefault(); // Default form submission বন্ধ করা
$.ajax({
url: $(this).attr('action'),
type: 'POST',
data: $(this).serialize(),
success: function (result) {
$("#student-list-container").html(result); // Partial view আপডেট করা
}
});
});
});
</script>
এখানে, ফর্মটি AJAX-এর মাধ্যমে সাবমিট করা হয়েছে এবং পেজের পুরো অংশের পরিবর্তে শুধুমাত্র ছাত্রের তালিকা আপডেট করা হয়েছে।
Partial Page Updates এবং AJAX Forms দুটি পদ্ধতি ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে এবং অ্যাপ্লিকেশনটি দ্রুত এবং রেসপন্সিভ করতে সহায়ক। Partial Page Updates সার্ভার থেকে শুধুমাত্র অংশবিশেষ ডেটা রিটার্ন করে এবং তা পেজে আপডেট করে, পুরো পেজ রিফ্রেশ না করেই। AJAX Forms ব্যবহারকারীর ফর্ম সাবমিট করার পর পেজ রিফ্রেশ না করে ফলাফল প্রদর্শন করতে সাহায্য করে। এই বৈশিষ্ট্যগুলোর মাধ্যমে অ্যাপ্লিকেশনটির পারফরম্যান্স ও ব্যবহারকারী ইন্টারঅ্যাকশন উন্নত করা যায়।
ASP.Net MVC-তে Unobtrusive AJAX এবং Validation দুটি অত্যন্ত গুরুত্বপূর্ণ বৈশিষ্ট্য যা অ্যাপ্লিকেশনটির ইউজার ইন্টারফেসের কার্যকারিতা এবং ব্যবহারকারীর অভিজ্ঞতাকে উন্নত করে। Unobtrusive AJAX ব্যবহার করে আমরা সাইটের কোনও পৃষ্ঠার রিফ্রেশ ছাড়াই ডেটা লোড বা আপডেট করতে পারি। অন্যদিকে, Unobtrusive Validation ব্যবহার করে ব্যবহারকারীর ইনপুট যাচাই করা যায়, যা ইউজার এক্সপেরিয়েন্স উন্নত করে এবং ক্লায়েন্ট সাইডে ত্রুটি সনাক্ত করতে সহায়ক হয়।
Unobtrusive AJAX এমন একটি কৌশল যেখানে AJAX কার্যক্রমের জন্য কোন বিশেষ JavaScript কোড ম্যানুয়ালি লিখতে হয় না। ASP.Net MVC-এর সাথে Unobtrusive AJAX
একটি সহজ এবং কার্যকরী পদ্ধতি হিসেবে কাজ করে, যেখানে AJAX কলগুলি মডেল-বাইন্ডিং এবং ভিউ রেন্ডারিং-এর মধ্যে অন্তর্ভুক্ত থাকে এবং এটি কোনো অবাঞ্ছিত বা অপ্রয়োজনীয় JavaScript কোডের প্রয়োজন হয় না।
ASP.Net MVC-তে Unobtrusive AJAX
ব্যবহার করার জন্য কিছু নির্দিষ্ট স্টেপ অনুসরণ করতে হয়।
ধরা যাক, আমাদের একটি Student মডেল রয়েছে, এবং আমরা চাই যে যখন ব্যবহারকারী একটি নির্দিষ্ট ছাত্রের ডেটা নির্বাচন করবেন, তখন সঠিক তথ্য AJAX এর মাধ্যমে লোড হবে।
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
}
public class StudentController : Controller
{
public ActionResult GetStudentDetails(int id)
{
Student student = new Student
{
Id = id,
Name = "Student Name " + id
};
return PartialView("_StudentDetails", student);
}
}
@using (Html.BeginForm())
{
@Html.DropDownListFor(model => model.Id, new SelectList(Model, "Id", "Name"), "Select a Student", new { @class = "student-dropdown" })
}
<div id="student-details"></div>
<script type="text/javascript">
$(function () {
$(".student-dropdown").change(function () {
var studentId = $(this).val();
$.ajax({
url: '@Url.Action("GetStudentDetails", "Student")',
data: { id: studentId },
type: 'GET',
success: function (data) {
$("#student-details").html(data);
}
});
});
});
</script>
এখানে, আমরা ড্রপডাউন মেনু ব্যবহারকারীর একটি Student
নির্বাচন করার জন্য তৈরি করেছি। যখন একটি ছাত্র নির্বাচন করা হয়, তখন AJAX কলটি চালু হবে এবং পরবর্তী তথ্য সার্ভার থেকে পেতে পারবে এবং সেই তথ্যটিকে ক্লায়েন্ট সাইডে সরাসরি প্রদর্শন করবে।
Unobtrusive Validation হল একটি কৌশল যেখানে ডেটা যাচাই শুধুমাত্র HTML মার্কআপ এবং JavaScript কোডের মাধ্যমে করা হয়, এবং এটি কোডে সরাসরি জাভাস্ক্রিপ্ট লেখা ছাড়াই কাজ করে। ASP.Net MVC-তে Unobtrusive Validation মডেল ক্লাসে ডেটা অ্যাট্রিবিউট এবং ভিউতে JavaScript বিনামূল্যে ডেটা যাচাইয়ের সুবিধা প্রদান করে।
ASP.Net MVC-তে Unobtrusive Validation সক্ষম করার জন্য jquery.validate এবং jquery.validate.unobtrusive স্ক্রিপ্ট লোড করতে হবে।
ধরা যাক, আমরা একটি ফর্ম তৈরি করতে চাই, যেখানে ব্যবহারকারীর নাম এবং ইমেল ঠিকানা যাচাই করা হবে।
public class Student
{
[Required(ErrorMessage = "Name is required")]
public string Name { get; set; }
[Required(ErrorMessage = "Email is required")]
[EmailAddress(ErrorMessage = "Invalid email address")]
public string Email { get; set; }
}
@model YourNamespace.Models.Student
@using (Html.BeginForm())
{
<div>
<label for="Name">Name:</label>
@Html.TextBoxFor(m => m.Name, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.Name)
</div>
<div>
<label for="Email">Email:</label>
@Html.TextBoxFor(m => m.Email, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.Email)
</div>
<button type="submit">Submit</button>
}
ভিউতে জাভাস্ক্রিপ্ট লোড করার জন্য এই স্ক্রিপ্টগুলি অন্তর্ভুক্ত করতে হবে:
<script src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.19.2/jquery.validate.min.js"></script>
<script src="https://ajax.aspnetcdn.com/ajax/jquery.validate.unobtrusive/3.2.0/jquery.validate.unobtrusive.min.js"></script>
এখন, ফর্মটি সাবমিট করার আগে Unobtrusive Validation স্বয়ংক্রিয়ভাবে মডেল অ্যাট্রিবিউটগুলির সাহায্যে ফর্মের ইনপুট যাচাই করবে এবং যদি কোনো ত্রুটি থাকে তবে তা ব্যবহারকারীর সামনে দেখাবে।
Unobtrusive AJAX এবং Validation হল দুটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা ASP.Net MVC-তে ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে সহায়ক। Unobtrusive AJAX পৃষ্ঠার রিফ্রেশ ছাড়া ডেটা লোড এবং প্রক্রিয়া করার সুবিধা দেয়, যখন Unobtrusive Validation ব্যবহারকারীর ইনপুট যাচাই করার জন্য ক্লায়েন্ট সাইডে ত্রুটি সনাক্তকরণ প্রক্রিয়া সহজ করে। এই দুটি ফিচার আধুনিক ওয়েব অ্যাপ্লিকেশনের জন্য অত্যন্ত গুরুত্বপূর্ণ।
common.read_more